-- @Author: 作者QQ381990860
-- @Date:   2022-05-07 14:23:06
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-09-19 19:32:45
-- @Author: 作者QQ381990860
-- @Date:   2021-10-15 11:42:07
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-06-11 22:45:20

function 角色处理类:创建新角色(账号, 名称, 造型, 种族, 性别, 角色id)
	local  qusx = 取属性(造型)
    local 数据 = {
		名称 = 名称,
		id = 角色id,
		造型 = 造型,
		种族 = qusx.种族,
		性别 = qusx.性别,
    染色方案 = qusx.染色方案,
		挑战记录 = {},
		染色 = {c = 5,a = 5,b = 5},
		门派 = "无",
		等级 = 68,
		账号 = 账号,
		任务数据 = {},
		当前经验 = f函数.读配置(ServerDirectory..[[配置文件\新手出生设置.txt]], "新手出生设置", "出生经验")+0,
    内挂系统={自动刷怪=false,待打列表={[1]="待设置",[2]="待设置",[3]="待设置"},战斗地图=1001,回收开关=false,物品存放=false,剩余时间=0,银子存放=false,红罗羹开关=false,摄妖香开关=false,内挂版本=1},
		升级经验 = 40,
		当前体力 = 0,
		体力上限 = 10,
		活力上限 = 10,
		当前活力 = 0,
		活动积分=  0,
    累冲积分=  0,
    法宝灵气 = 0,
    洗炼次数 = 0,
    地煞积分 = 0,
    知了积分 = 0,
    天罡积分 = 0,
    单人积分 = 0,
    成就积分 = 0,
    新年积分 = 0,
    长安保卫战积分 = 0,
    长安保卫战累计积分 = 0,
    特殊积分 = 0,
    大雁塔 =0,
		潜能 = 340,
    召唤兽修炼点数=0,
    活跃度=0,
    抽奖 = 0,
		人气 = 650,
		比武积分 = 0,
		帮贡 = 0,
		门贡 = 0,
		愤怒 = 0,
		道具 = {包裹 = {},行囊 = {},Pages=1,法宝 = {},锦衣 = {},货币 = {银子 = 100000,元宝 = 0,存银 = 0,储备 = 5000000,}},
		装备数据 = {},
   	师门技能={},
		快捷技能={},
		出生日期 = os.time(),
		离线时间 = os.time(),
		师门时间 = os.time(),
		抓鬼次数 = 1,
		除暴安良次数 = 1,
  	副本积分 = 0,
		鬼王次数 = 1,
		师门次数 = 20,
		阴德 = 10,
		师门环数 = 0,
		称谓 = {当前 = Config.新手称谓,特效=4285922956,[1]=Config.新手称谓},
		称谓特效={},
		伴侣 = 0,
		好友数据 = {},
		祈福 = 0,
    矿区 = {[35] = 0,[36] = 0,[37] = 0,[38] = 0,[39] = 0,[40] = 0,[41] = 0,[42] = 0,[43] = 0,[44] = 0,[45] = 0,
    [46] = 0,[47] = 0,[48] = 0,[49] = 0,[50] = 0,[51] = 0,[52] = 0,[53] = 0,[54] = 0,[55] = 0,[56] = 0,[57] = 0,
    [58] = 0,[59] = 0,[60] = 0,[61] = 0,[62] = 0,[63] = 0,[64] = 0,[65] = 0,[66] = 0,[67] = 0,[68] = 0,[69] = 0,
    [70] = 0,[71] = 0,[72] = 0,[73] = 0,[74] = 0,[75] = 0},--矿区系统
		装备属性 = {躲闪=0,力量=0, 愤怒=0,魔力=0,耐力=0,体质=0,命中 = 0,气血回复效果 = 0,固定伤害 = 0,气血 = 0,法防 = 0,抵抗封印等级 = 0,法术防御 = 0,魔法 = 0,灵力 = 0,速度 = 0,法术伤害结果 = 0,
    格挡值 = 0,狂暴等级 = 0,治疗能力 = 0,穿刺等级 = 0,防御 = 0,抗物理暴击等级 = 0,敏捷 = 0,法术暴击等级 = 0,封印命中等级 = 0,伤害 = 0,物理暴击等级 = 0,法术伤害 = 0,抗法术暴击等级 = 0,幸运 = 0,物理伤害 = 0,法术基础伤害 = 0},
		人物技能={},
    乾元丹技能={},
		潜能果 = {潜能果=0,可换潜能果=0,附加潜能果=0},
		奇经八脉={剩余乾元丹=0,乾元丹=0,可换乾元丹=0,附加乾元丹=0,技能树={1,2,3}},
    奇经神脉={记忆位置={},剩余乾元丹=0,乾元丹=0,可换乾元丹=0,附加乾元丹=0,技能树={1,2,3}},
		技能属性={气血=0,躲避=0,力量=0,魔力=0,耐力=0,体质=0,命中=0,法术防御=0,魔法=0,灵力=0,速度=0,治疗能力=0,穿刺等级=0,防御=0,敏捷=0,伤害=0},
		剧情技能点 = 10,
		剧情技能={},
		法宝效果={},
		装备三围 = {体质 = 0,力量 = 0,敏捷 = 0,耐力 = 0,魔力 = 0},
		变身={造型=nil,技能=nil,属性={数值=0,类型=0,属性=""}},
		道具数据={包裹={},行囊={},法宝={},锦衣={}},
		双倍=false,
		打造熟练度 =0,
		裁缝熟练度 =0,
		炼金熟练度 =0,
		追加技能 = {},
		附加技能 = {},
	  变身技能 = {},
    vip={充值=0,经验=0,等级=0},
		获得经验 = 0,
		队标={[1]="普通",[2]="扇子",[3]="玫瑰"},
		获得银子 = 0,
		灵饰 = {[35] = 0,[34] = 0,[31] = 0,[32] = 0,[33] = 0},
		法宝 = {[35] = 0,[36] = 0,[37] = 0,[38] = 0},
		锦衣 = {[40] = 0,[41] = 0,[42] = 0,[43] = 0,[44] = 0,[45] = 0,[46] = 0},
		宠物 = {模型="生肖猪",名称="生肖猪",等级=1,最大等级=175,耐力=5,最大耐力=5,经验=1,最大经验=10,领取=nil},
		礼包={新手=0,套餐1=0,套餐2=0,套餐3=0,套餐4=0,套餐5=0,套餐6=0,套餐7=0,套餐8=0,套餐9=0,套餐10=0,套餐11=0,套餐12=0,套餐13=0,套餐14=0,套餐15=0,套餐16=0,套餐17=0},
		飞升 = false,
		渡劫 = false,
    生死劫 = 0,
		阵法 = {地载阵 = false,蛇蟠阵 = false,云垂阵 = false,风扬阵 = false,普通 = true,虎翼阵 = false,龙飞阵 = false,鸟翔阵 = false,天覆阵 = false,雷绝阵=false,鹰啸阵=false},
    轮回境 = 0,
		翅膀 = {},
    幸运 = 0,
    精灵 = {等级=1,气血=0,魔法=0,伤害=0,防御=0,速度=0,灵力=0,经验=0,激活=0,显示=0,技能="无",能量=0,主动技能 = {},主动开关 = 1},
		伴侣={},
    龙魂套 = {门派="无门派",等级=1},
    龙魂 = {[35] = 0,[36] = 0,[37] = 0,[38] = 0,[39] = 0,[40] = 0,[41] = 0,[42] = 0,[43] = 0},--龙魂系统
    神器灵犀玉 = {[1]=0,[2]=0,[3]=0,[4]=0},
    子女列表={参战=0},
		传送地图 = 1501
	}
  数据.剧情技能={}
  数据.辅助技能={}--1强身术2冥想3强壮4暗器技巧5烹饪技巧6中药医理7健身术8养生之道9巧匠之术10打造技巧11裁缝技巧12炼金术
  数据.强化技能= {} ---1命中强化2伤害强化3灵力强化4速度强化5防御强化

  local cs = self:取初始属性(数据.种族)
  数据.体质 = cs[1]
  数据.魔力 = cs[2]
  数据.力量 = cs[3]
  数据.耐力 = cs[4]
  数据.敏捷 = cs[5]
  数据.装备数据 = {}
  数据.人物修炼 = {}
	for n = 1, #全局变量.修炼名称 do
		数据.人物修炼[全局变量.修炼名称[n]] = {经验 = 0,上限 = 9,等级 = 0}
	end
	数据.人物修炼.当前 = "攻击"
	数据.召唤兽修炼 = {}
	for n = 1, #全局变量.修炼名称 do
		数据.召唤兽修炼[全局变量.修炼名称[n]] = {经验 = 0,上限 = 20,等级 = 0}
	end
  local 剧情= {"宝石工艺","丹元济会","火眼金睛","变化之术"}
  for i=1,#剧情 do
    local 剧情技能=置技能(剧情[i])
    剧情技能.等级 =0
    table.insert(数据.剧情技能,剧情技能)
  end
  local 强化= {"命中强化","伤害强化","灵力强化","速度强化","防御强化","固伤强化","治疗强化"}
  for i=1,#强化 do
    local 强化技能=置技能(强化[i])
    强化技能.等级= 0
    table.insert(数据.强化技能,强化技能)
  end
  local fz = {"强身术","冥想","强壮","暗器技巧","烹饪技巧","中药医理","健身术","养生之道","巧匠之术","打造技巧","裁缝技巧","炼金术"}
  for i=1,#fz do
    local 辅助技能=置技能(fz[i])
    辅助技能.等级= 0
    table.insert(数据.辅助技能,辅助技能)
  end
	数据.召唤兽修炼.当前 = "攻击"
	数据.武器数据 = {名称 = "",强化 = 0,等级 = 0,类别 = 0}
	数据.锦衣数据={}
	数据.地图数据 = {编号 = 1003,x = 380,y = 480}
	数据.押镖次数 = 50
	数据.仓库 = {{},{},{}}
  数据.仓库1 = {{},{},{}}
	数据.pk开关 = false
	数据.pk时间 = 0
	数据.pk保护 = 0
	数据.官职贡献度 = 0
	数据.官职任务次数 = 1
	数据.飞贼次数 = 0
	数据.特技数据 = {}
	数据.点化次数 = 0
	数据.坐骑数据 = {}
	数据.坐骑 ={编号=0}
	数据.祥瑞数据 = {}
	数据.祥瑞 ={编号=0}

if 数据.种族=="人" then
   数据.伤害=math.floor((数据.力量)*0.7)+34
   数据.命中=math.floor((数据.力量)*2)+30
   数据.灵力=math.floor((数据.力量)*0.2+(数据.魔力)*0.9+(数据.体质)*0.3+(数据.耐力)*0.2)
   数据.速度=math.floor((数据.敏捷)*0.7+(数据.力量)*0.1+(数据.体质)*0.1+(数据.耐力)*0.1)
   数据.躲闪=math.floor(数据.敏捷)
   数据.魔法上限=math.floor((数据.魔力)*3)+80
   数据.最大气血=math.floor((数据.体质)*5)+100
   数据.防御=math.floor((数据.耐力)*1.5)
 elseif 数据.种族=="魔" then
   数据.伤害=math.floor((数据.力量)*0.8)+34
   数据.命中=math.floor((数据.力量)*2.3)+27
   数据.防御=math.floor((数据.耐力)*1.3)
   数据.灵力=math.floor((数据.力量)*0.2+(数据.魔力)*0.9+(数据.体质)*0.3+(数据.耐力)*0.2)
   数据.速度=math.floor((数据.敏捷)*0.7+(数据.力量)*0.1+(数据.体质)*0.1+(数据.耐力)*0.1)
   数据.躲闪=math.floor(数据.敏捷)
   数据.魔法上限=math.floor((数据.魔力)*2.5)+80
   数据.最大气血=math.floor((数据.体质)*6)+100
 elseif 数据.种族=="仙" then
   数据.伤害=math.floor((数据.力量)*0.6)+40
   数据.命中=math.floor((数据.力量)*1.7)+30
   数据.防御=math.floor((数据.耐力)*1.6)
   数据.速度=math.floor((数据.敏捷)*0.7+(数据.力量)*0.1+(数据.体质)*0.1+(数据.耐力)*0.1)
   数据.灵力=math.floor((数据.力量)*0.2+(数据.魔力)*0.9+(数据.体质)*0.3+(数据.耐力)*0.2)
   数据.躲闪=math.floor(数据.敏捷)
   数据.魔法上限=math.floor((数据.魔力)*3.5)+80
   数据.最大气血=math.floor((数据.体质)*4.5)+100
 end
    数据.气血上限 = 数据.最大气血
    数据.当前气血 = 数据.气血上限
    数据.当前魔法 = 数据.魔法上限
 	local 写入信息=table.loadstring( ReadFile([[玩家信息/账号]]..账号..[[/操作记录.txt]]))
    写入信息[#写入信息+1]=角色id
    WriteFile([[玩家信息/账号]]..账号..[[/操作记录.txt]],table.tostring(写入信息))
    return 数据
end

function 角色处理类:取初始属性(种族)
  local 属性 = {
    人 = {79,79,79,79,79},
    魔 = {79,79,79,79,79},
    仙 = {79,79,79,79,79},
  }
  return 属性[种族]
end